<?php
class HookAutoLoad {
	
	static function register() {
		// Seta o include_path do php.ini;
		ini_set('include_path', '.' . PATH_SEPARATOR . BASEPATH . 'libraries' 
									. PATH_SEPARATOR . APPPATH . 'libraries');

		spl_autoload_register(array(self, 'load'));
	}

	static function load($class) {
		// Procura a classe na aplicação
		$caminhos = array(
			APPPATH . "controllers/" . $class . ".php",
			APPPATH . "controllers/" . str_replace("_","/", $class) . ".php",
			APPPATH . "libraries/" . str_replace("_","/", $class) . ".php",
			APPPATH . "models/" . $class . ".php",
			APPPATH . "models/" . str_replace("_","/", $class) . ".php",
		// Procura a classe no framework
			BASEPATH . "libraries/" . str_replace("_","/", $class) . ".php",
		);
		
//echo '<pre>procurando ' . $class . '</pre>';
		foreach ($caminhos as $caminho) {
//echo '<pre>'; var_dump($caminho); echo '</pre>';
			if(is_file($caminho)){
				require_once($caminho);
//echo '<pre>achou ' . $class . '</pre>';
				return true;
			}
		}
//echo '<pre>não achou ' . $class . '</pre>';
		return false;
	}
	
}